1. Technical Field
This disclosure relates generally to graphics rendering, and more specifically, representing a field over a triangular mesh.
2. Description of the Related Art
3D rendering schemes allow for the rendering of arbitrary views of a 3D model. 3D models are often represented as a mesh of triangular faces. A common requirement is for some field to be mapped onto the surface of such models. For example, a pre-computed texture (e.g., lighting or shadows) map can be mapped onto the surface of the rendered model to considerably improve the realism of the model. As another example, a separate height field can be mapped to add geometric detail at a lower cost than adding more triangles. The improvements in realism and detail do not come without cost. The pre-computed textures (data fields) may require considerable time and computing resources to create and may additionally require composited images captured from a real-world model. In each case, the data fields must be represented over the entire surface of the 3D model, which may result in very large and complex datasets, thus reducing sampling accuracy and storage efficiency.
One method of mapping an arbitrary field onto a simplicial complex is by using texture mapping. Texture mapping creates a separate bijection that associates every point of the surface of the triangular mesh with a point within some 2D domain. The textures used in the mapping are typically modeled as a two-dimensional (2D) texture map representing a “sheet” of elastic material, i.e., one that can be attached to, or wrapped around, the surface mesh to produce the desired result. This mapping generally needs to be conformal and isometric (i.e., angle and length preserving). Creating such maps for general triangular meshes, however, can be problematic and is not always the most suitable or efficient mechanism for meshed surfaces with significant intrinsic curvature. For example, for irregular topologies and curvatures, simple approaches, such as the one described above, may lead to uneven mappings in which equally-sized regions of the surface are assigned to very differently sized regions of the data field. This variable field resolution may result in lower re-sampling accuracy and storage efficiency therefore yielding a slower, lower quality renderer.